<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 
    
    (1) 封装一个函数 在数组尾部新增一个或多个元素  push([1,2,3],"a")  => [1,2,3,"a"]
    (2) 封装一个函数 删除数组尾部的元素   pop([1,2,3])  => [1,2]

    (3) 封装一个函数 在数组头部新增一个或多个元素  unshift([1,2,3],"a")  => ["a",1,2,3]
    (4) 封装一个函数 删除数组头部的元素   shift([1,2,3])  => [2,3]

    (5) 封装一个函数 实现数组翻转  reverse([1,2,3,4,5,6,7]) => [7,6,5,4,3,2,1]
    (6) 封装一个函数 用特定的字符将数组拼接形成字符串   join(["a","b","c","d"],"-") => "a-b-c-d"
    -->
</body>
<script>
    // 函数封装步骤
    // 1. 实现基本功能的代码
    // 2. 封装 => 把特定功能的代码放到函数中,起一个函数名
    // 3. 提形参 => 把可变参数改为形式参数
    // 4. 确定返回值 => 由用户自行绝对返回值,如果不设置返回值 默认返回 undefined
    // 5. 调用函数 
</script>
<script>

    // var a = 10;
    // var b = 20;
    // function fn(a, b) {
    //     a = 100;
    //     b = 200;
    //     console.log(a, b); // 100 200
    // }
    // console.log(a, b); // 10 20
    // fn(a, b);
    // console.log(a, b); // 10 20



    var list = [10, 20]; // [100, 200]

    function func(arr) { // arr = list;
        arr[0] = 100;
        arr[1] = 200;
        console.log(arr[0], arr[1]);  // 100 200
    }

    console.log(list[0], list[1]); // 10 20
    func(list);
    console.log(list[0], list[1]); //  100 200




</script>

</html>